package to3;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.logging.Logger;

public class KlantenLijst {
       private List<Klant> klantenLijst;
               
       public KlantenLijst() {
            klantenLijst = new ArrayList<>();
            
    }
   
    public void addKlant(String klantnr, String voornaam, String achternaam, 
                                String adres, String woonplaats, String telefoon, String email, String rekeningnr){
        klantenLijst.add(new Klant(klantnr, voornaam, achternaam, adres, woonplaats, telefoon, email, rekeningnr));
    }
    
    public void addNewKlant(String voornaam, String achternaam, 
                                String adres, String woonplaats, String telefoon, String email, String rekeningnr){
            String klantnr = "";
            while (klantnr.equals("")){
                klantnr = generateRandomString();
            }
            klantenLijst.add(new Klant(klantnr, voornaam, achternaam, adres, woonplaats, telefoon, email, rekeningnr));
    }
    
    public void clearKlantenLijst(){
        if (klantenLijst.size() > 0){
        klantenLijst.clear();
        }
    }
       
    public List<Klant> getKlanten(){
        return klantenLijst;
    }
    
    public String generateRandomString(){
        String nr = "";
        for(int i=0; i<8; ++i)    
      {           
         String random = "" + (new Random().nextInt(9));
         nr = nr + random;
      }
        if (checkNr(nr) == false){
            return nr; 
        }
        else{
            return "";
        }
    }
    
    public boolean checkNr(String nr){
        for (Klant k : klantenLijst){
            if (k.getKlantnr().equals(nr)){
                return true;
            }
        }
        return false;
    }
    
    public Klant getKlant(String nr){
        for(Klant klant: this.klantenLijst){
            if(klant.getKlantnr().equals(nr)){
                return klant;
            }
        }
       //Klant niet gevonden
       return new Klant();
    }
}